我正在开发一个基于Django的web应用程序。
我将把一个csv导入postgresql数据库,该数据库有100000多行,并将其用作Django应用程序的数据库。在这里,我面临两个问题。字段名包括以下特殊字符:
%oil, %gas, up/down, CAPEX/Cash-flow, D&C Cape,...
首先,如何定义Postgresql数据库的字段名以导入csv?
导入后,我将通过django模型获取数据。那么如何定义包含特殊字符的Django模型变量名呢?
当然,如果我更改包含特殊字符的csv的列名也是可能的,但我不想更改它。我想导入原始csv而不做任何更改。
有没有解决这个问题的办法?
您的示例中没有特殊字符。从python或数据库的角度来看,至少没有任何问题。
首先,避免使用可疑的字段名,尤其是在金融领域<代码>%oil可以表示石油份额、石油利润率或其他。使用有意义的名称定义模型,如
class FinancialPeformanceData(models.Model):
oil_share = models.DecimalField(max_digits=5, decimal_places=2)
gas_share = models.DecimalField(max_digits=5, decimal_places=2)
growth = models.DecimalField(max_digits=10, decimal_places=2)
capex_to_cf = models.DecimalField(max_digits=7, decimal_places=2)
... etc.
然后按照@Hambone的建议,使用copy
从CSV导入数据。CSV文件中不需要标题。
def import_csv(request):
file = './path/to/file'
with open(file, 'rb') as csvfile:
with closing(connections['database_name_from_settings'].cursor()) as cursor:
cursor.copy_from(
file=csvfile,
table='yourapp_financialperformancedata', #<-- table name from db
sep='|', #<-- delimiter
columns=(
'oil_share',
'gas_share',
'growth',
'capex_to_cf',
... etc.
),
)
return HttpResponse('Done!')
问题内容: 我创建了一个数据库和一个表。我还创建了所有需要的字段。我创建了46个字段,其中一个是该行的ID。CSV不包含ID字段,也不包含列的标题。我对所有这些都是陌生的,但一直在努力解决。我不是在这里懒惰地寻求答案,而是在寻找方向。 我试图弄清楚如何导入CSV,但是让它开始从第二个字段开始导入数据,因为我希望auto_increment将填充ID字段,这是我创建的第一个字段。 我没有运气就尝试了
我有一个csv文件,我想将它导入JTable。 是否有一个简单的示例显示如何将csv文件导入JTable?
我正在以模式运行Spark集群。Master和Worker节点都可以访问,并在Spark WebUI中具有日志。 我正在尝试将数据加载到PySpark会话中,以便我可以在Spark DataFrames上工作。 下面是几个例子(其中一个来自官方文件),我尝试使用不同的方法,但都失败了,出现了相同的错误。如 每次我都会遇到同样的错误: Py4JJavaError:调用o81时出错。csv: org.
问题内容: 我刚刚切换到Webmatrix,因为我正在使用的服务器停止了对MySQL / PHP的支持。现在,我正在使用SQL Server Compact将旧的php mysql网站转换为Webmatrix。但是我遇到了一点障碍。我正在使用脚本将csv文件直接导入到数据库中,在php / mysql中这并不难,但是我无法使其在Webmatrix和SQL Server Compact中工作。有人对
问题内容: 我正在尝试使用pgAdmin4导入CSV。我使用查询创建了表格, CSV读取的标题和第一行是… 当我尝试使用导入对话框时,该过程失败,并显示错误代码1: 我觉得没什么错-有什么想法吗? 问题答案: 根据你的表结构,这种进口将在列失败和,因为它们的值有小数,您宣布他们作为。删除小数点或将列类型更改为例如。 话虽如此,只需从pgAdmin尝试一下(考虑到文件和数据库位于同一服务器中): 如
问题内容: 我正在做“elasticsearch入门”教程。不幸的是,本教程没有介绍将数据库导入Elasticsearch的第一步。 我用谷歌搜索找到了解决方案,但不幸的是它无法正常工作。这是我要实现的目标和拥有的目标: 我有一个要导入的数据文件(简化了) 我想使用导入。经过互联网研究后,我得到以下配置: 我在指定文档类型时遇到了麻烦,因此一旦导入数据,便导航到http:// localhost: