从Microsoft Excel(.xlsx)文件中读取并使用Python插入数据库?

从Microsoft Excel(.xlsx)文件中读取并使用Python插入数据库?,python,database,excel,postgresql,xlrd,Python,Database,Excel,Postgresql,Xlrd,我正在开发一个应用程序来读取带有标题的.xlsx,(Excel文件),并按原样将行插入Postgres DB中的DB表中 我想我会使用XLRD库 有什么办法吗 我正在使用Python 2.6.6 到目前为止,最简单的方法是将其转换为CSV,然后使用psql的\copy,或者。任何命令行.xlsx到CSV转换器在通过内置子流程模块调用时,或在较旧的python上通过popen/系统调用时,都可以为您工作。您不需要任何特殊的Python库。这还允许您使用一个转换器,如OpenOffice/Libre

我正在开发一个应用程序来读取带有标题的
.xlsx
,(Excel文件),并按原样将行插入Postgres DB中的DB表中

我想我会使用XLRD库

有什么办法吗


我正在使用Python 2.6.6

到目前为止,最简单的方法是将其转换为CSV,然后使用psql的
\copy
,或者。任何命令行
.xlsx
CSV
转换器在通过内置
子流程
模块调用时,或在较旧的python上通过
popen
/
系统
调用时,都可以为您工作。您不需要任何特殊的Python库。这还允许您使用一个转换器,如OpenOffice/LibreOffice的命令行模式,它也可以处理各种其他表格数据


如果您想在Python中完成这一切,您可以使用元组,并将元组一个接一个地馈送到
psycopg2
copy\u from
,因此您可以仅使用Python代码将行流式传输到PostgreSQL。您应该很容易适应使用
xlrd
作为数据源,而不是Python列表/csv输入/任何东西。

如果您有Excel,请格式化XLS文件,使其没有标题和空白列(基本上,只需制作一个表)。这也适用于LibreOffice。然后,将文件另存为CSV。然后,使用文本编辑器查看CSV文件,并确认一切正常

一旦您对CSV的内容感到满意,编写python代码读取每一行,然后创建每个字段的列表就非常简单了。以下是30秒版本的代码:

with open('example.csv','r') as csv_file:
    full = csv_file.read().split('\n')
    for line in full:
    values = line.split(',')
        print values

在“for”循环中,您可以单独访问列表中的每个元素,即“values[0]”

与其询问如何操作,不如尝试一下,并就不适合您的主题寻求特定帮助。请不要建议人们手动解析CSV!Python是有原因的。它比手工破解类似CSV的文本更容易、更安全。考虑一下你的第二个例子如何处理<代码>“24个项目”,“Somecountry”<代码>。它没有-卡布姆。这是同样的事情。我指的是使用XLRD Python库将XLS/XLSX文件直接解析为数据流…!-已经知道如何解析CSV,这也简单得多。。。谢谢你,但我自己解决了我的问题。。。