目錄
xlsxwriter
pandas的to_csv最左邊多一列的問題
csv文件用csv.writer中的writerow方法寫入
保存多列數據
有多余空行
字符串被分割成一個字符占一個單元格的問題
xlsxwriter這個模塊,它生成的文件後綴名為.xlsx,最大能夠支持1048576行數據,16384列數據
wirte(row, col, *args)
向工作表單元格寫入普通的數據。
參數:
Excel區分不同的數據類型諸如字符串,數字,空格,公式和超鏈接。為了簡化向XlsxWriter文件寫入數據的過程, write()方法作為以下幾個特定方法的假名(譯者注:意思就是通常不需要程序員顯式地指定以下方法,在使用write()方法時XlxsWriter會按照規則判斷數據類型並采用對應的方法寫入數據):
write()處理數據的規則如下:
字符串(String)則按照以下規則處理數據:
如果值不匹配以上所有類型,最終會使用 float()來檢查它是否與用戶定義的浮點類型相對應。如果不對應,則會使用 write_number()方法。
最後,如果這些規則全都不匹配,那麼程序會拋 TypeError異常。
例子
import xlsxwriter
#寫excel
def write_excel():
workbook = xlsxwriter.Workbook('chat.xlsx')#創建一個excel文件
worksheet = workbook.add_worksheet(u'sheet1')#在文件中創建一個名為TEST的sheet,不加名字默認為sheet1
worksheet.set_column('A:A',20)#設置第一列寬度為20像素
bold= workbook.add_format({'bold':True})#設置一個加粗的格式對象
worksheet.write('A1','HELLO')#在A1單元格寫上HELLO
worksheet.write('A2','WORLD',bold)#在A2上寫上WORLD,並且設置為加粗
worksheet.write('B2',U'中文測試',bold)#在B2上寫上中文加粗
worksheet.write(2,0,32)#使用行列的方式寫上數字32,35,5
worksheet.write(3,0,35.5)#使用行列的時候第一行起始為0,所以2,0代表著第三行的第一列,等價於A4
worksheet.write(4,0,'=SUM(A3:A4)')#寫上excel公式
workbook.close()
if __name__ == '__main__':
# 寫入Excel
write_excel();
print ('寫入成功')
設置index = False
with open("gduf.csv",'a',encoding="utf-8",newline="") as f:
writer=csv.writer(f)#先獲取寫入對象
writer.writerow([title.a.text,title_url])#寫入兩列數據
加一個newline=''
with open(output_file, 'w+', newline='') as f:
使用writerow方法必須將字符串轉化成列表,否則就會一個字符占一個單元格。
所以加上[ ]即可