jjxx2005 发表于 2020-6-15 22:39:14

如何使用Pandas写入循环里的数据

我有一个PDF文件,里面有3页,我提取每页中的所有表格 ,我可以在Pandas里看到这些表,但是一但写入Excel就只能写入最后一个表。。。。也就是说前面的被覆盖了

PDF表我上传到附件中了


代码如下:
import pdfplumber
import pandas as pd
a = r'c:/表1.pdf'
with pdfplumber.open(a) as pdf:
   for p1 in pdf.pages:
      for w1 in p1.extract_tables():
         df = pd.DataFrame(w1,columns=w1)
         df.to_excel('c:/1.xlsx')

jjxx2005 发表于 2020-6-15 22:57:55

import pdfplumber
import pandas as pd
a = r'c:/表1.pdf'
with pdfplumber.open(a) as pdf:
   for p1 in pdf.pages:
      for w1 in p1.extract_tables():
         df = pd.DataFrame(w1,columns=w1)
         df.to_csv('c:/1.csv',mode='a',encoding='ANSI')

我想到一个方法是保存成CSV文件再用excel打开

Twilight6 发表于 2020-6-15 23:09:41

jjxx2005 发表于 2020-6-15 22:57
我想到一个方法是保存成CSV文件再用excel打开



不知有没达到你的要求:

import pdfplumber
import pandas as pd
a = r'c:/表1.pdf'
count = 1
with pdfplumber.open(a) as pdf:
   with pd.ExcelWriter('c:/1.xlsx') as exl:
      for p1 in pdf.pages:
         for w1 in p1.extract_tables():
            df = pd.DataFrame(w1,columns=w1)
            df.to_excel(exl,sheet_name=f'sheet{count}')
            count += 1



jjxx2005 发表于 2020-6-16 08:13:02

Twilight6 发表于 2020-6-15 23:09
不知有没达到你的要求:

完全符合,点赞
页: [1]
查看完整版本: 如何使用Pandas写入循环里的数据